While reducing amount of image data transferred

ABSTRACT

In an image processing order system using a network, the amount of program or data to be transferred is reduced when a program for image processing (including data to be used) is transferred from a server computer of a service provider to a personal computer of a user. Each image is stored as low resolution image data to be used on a personal computer of a user and high resolution image data to be used for generating a processed print by a service provider. Furthermore, plural kinds of at least a portion of parts of a program for the processing are stored in a hard disc of the server computer, depending on resolution. When a mask processing program is transferred to a user, only the procedure for the mask processing and low resolution mask data are transferred, and high resolution mask data are not. In this manner, the amount of data to be transferred is reduced.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a method and a system forordering image processing in a digital photographic service using theInternet or the like, whereby print output of an image on whichprocessing such as composition has been carried out is ordered via thenetwork.

[0003] 2. Description of the Related Art

[0004] A digital photographic service using the Internet has becomeavailable recently. According to this service, if digitization andstorage of images are ordered at the time when a film is deposited fordevelopment, for example, the photographs recorded on the film aredisclosed on the Internet only to the orderer. Therefore, the orderercan order additional printing or the like without going to a serviceprovider by referring to the disclosed photographs on a personalcomputer connected to the network.

[0005] As an image file appropriate for such a digital photographicservice, FlashPix files have been proposed by Eastman Kodak Co. FlashPixfiles are based on a structured storage technique proposed by MicrosoftCorp., and the files themselves have hierarchy structures similar toconventional directory structures. More specifically, image data isclassified by resolution wherein one and the same image is representedat different resolution, or various kinds of property information of theimage data are recorded as components of the hierarchy.

[0006] By storing images as FlashPix files in a server, a serviceprovider provides low resolution image data which has a higher transferor display speed when a user requests reference to the images stored inthe server, for example. Furthermore, when the user requests printoutput of the same images, the service provider uses image data athigher resolution. In this manner, appropriate data are used dependingon a purpose. Moreover, since 1 image corresponds to 1 file, complicatedmanagement of the images is not necessary.

[0007] Meanwhile, in the above described digital photographic service,for the case where printing of processed images, such as printing of acomposed photograph, is ordered, a method has been proposed wherein auser carries out the image processing, such as image composition on apersonal computer, and provides a laboratory or the like withinformation showing a procedure of the image processing instead ofprocessed image data via a recording medium such as a floppy disc or viaa network. In this case, a system in the laboratory can carry out thesame processing as the user has carried out on the personal computer,based on the information provided by the user. By carrying out thisprocessing on high resolution image data having been stored, a processedphotographic print is generated.

[0008] When a laboratory (service provider) and a user carry out thesame procedure in this manner, a program for the processing is usuallywritten putting emphasis on the quality of images printed in alaboratory, and the program is installed in the system as a singleprogram and provided to users as well.

[0009] Since this program is sometimes provided to a user via a network,it is preferable for the program size to be small.

[0010] However, in order to reduce the size of the program, it isnecessary to simplify the processing the program carries out, or tolower the precision of the processing. Therefore, image quality ofprints may not be maintained.

SUMMARY OF THE INVENTION

[0011] Based on consideration of the above problems, the object of thepresent invention is to provide a method for ordering image processingwherein the quality of a print is maintained and the amount oftransferred program or data is reduced in the case of transfer of theimage processing program (including the data to be used for theprocessing) from a server computer of a service provider to a personalcomputer of a user, when the image processing is ordered via a network.

[0012] An image processing order method of the present invention ordersprocessing of an image by transferring information instructing theprocessing from a client computer connected to a server computer via anetwork to the server computer which carries out storage, processing,and reproduction of the image, and includes the steps of:

[0013] storing the image as a pair of high resolution image data to beused for reproduction of the image and low resolution image data havinga data size smaller than that of the high resolution image data in theserver computer;

[0014] recording in the server computer at least a portion of programparts to be used for the processing of the image as a pair of a programpart for the high resolution image data and a program part for the lowresolution image data having a program size smaller than that of theprogram part for the high resolution image data;

[0015] transferring from the server computer to the client computer thelow resolution image data and a program part excluding the program partfor the high resolution image data among the program parts to be usedfor the processing;

[0016] generating processing instruction information which instructs thecontent of processing to be used when the server computer carries outthe processing on the high resolution image data, by carrying out on theclient computer desired processing on the low resolution image datahaving been transferred using the program part having been transferred;and

[0017] transferring the processing instruction information from theclient computer to the server computer.

[0018] An image processing order system of the present invention carriesout processing based on the above image processing order method, and

[0019] orders image processing by transferring information instructingthe processing from a client computer connected to a server computer viaa network to the server computer which carries out storage, processingand reproduction of the image, wherein

[0020] the server computer comprises:

[0021] (S-1) image storing means which stores the image as a pair ofhigh resolution image data to be used for reproduction of the image andlow resolution image data having a data size smaller than that of thehigh resolution image data;

[0022] (S-2) program parts recording means which records at least aportion of program parts to be used for the processing of the image as apair of a program part for the high resolution image data and a programpart for the low resolution image data having a program size smallerthan that of the program part for the high resolution image data;

[0023] (S-3) program part transferring means which transfers from theserver computer to the client computer the low resolution image data anda program part excluding the program part for the high resolution imagedata among the program parts to be used for the processing;

[0024] (S-4) image processing means which processes the high resolutionimage data based on the processing instruction information transferredfrom the client computer; and

[0025] (S-5) image reproducing means which reproduces the highresolution image data having been processed by the image processingmeans as a visible image; and

[0026] the client computer comprises:

[0027] (C-1) processing instruction information generating means whichgenerates the processing instruction information by carrying out desiredprocessing on the low resolution image data having been transferred byusing the program part having been transferred from the server computer;and

[0028] (C-2) order means which orders the processing by transferring theprocessing instruction information from the server computer to theclient computer to the server computer.

[0029] A server computer of the image processing order system of thepresent invention is a computer composing the system, stores the image,carries out processing and reproduction of the image based on aninstruction from a client computer, and comprises:

[0030] (S-1) image storing means which stores the image as a pair ofhigh resolution image data to be used for reproduction of the image andlow resolution image data having a data size smaller than that of thehigh resolution image data;

[0031] (S-2) program part recording means which records at least aportion of program parts to be used for the processing of the image as apair of a program part for the high resolution image data and a programpart for the low resolution image data having a program size smallerthan that of the program part for the high resolution image data;

[0032] (S-3) program part transferring means which transfers to theclient computer the low resolution image data and a program partexcluding the program part for the high resolution image data among theprogram parts to be used for the processing;

[0033] (S-4) image processing means which receives processinginstruction information which the client computer has generated and thentransferred and by carrying out desired processing using the programpart on the low resolution image data, and processes the high resolutionimage data based on the processing instruction information; and

[0034] (S-5) image reproducing means which reproduces the highresolution image data having been processed by the image processingmeans as a visible image.

[0035] The “server computer which carries out storage, processing, andreproduction of the image” means not only a single apparatus, but also asystem comprising a plurality of apparatuses, such as an apparatus forimage storage and management, an apparatus for image processing, and aphotographic printer, for example. The “client computer” means apersonal computer of a user for photographic services, for example.

[0036] The “high resolution image data” and the “low resolution imagedata” mean image data sets classified by resolution and included in aFlashPix file, for example. However, the image data in this inventioninclude not only the image data stored as a FlashPix file but also imagedata stored as high resolution image data and low resolution image datain separated files.

[0037] In this specification, a term “a program part” is used in orderto explain this invention. Hereinafter, the definition of this term willbe explained.

[0038] A structure of a program generally varies depending onprogramming languages or design policies. Even when 2 programs haveexactly the same components (procedure, definition, data or the like),the 2 programs do not necessarily have the same structure.

[0039] For example, as a program structure which uses certain data andcarries out a certain procedure, 2 structures, that is, one structurewherein the data are included in the procedure, and the other structurewherein the procedure does not include the data, are possible. Theformer needs to be reprogrammed as a whole when the same procedure needsto be carried out by using data different from the one included therein.On the other hand, in the latter program, only the data needs to bechanged while the procedure stays as it is.

[0040] In this specification, a unit which is easily exchanged withoutaffecting other components of a program is called a program part. Inother words, in the above example, when the procedure includes the data,one program part means a combination of the data and the procedure. Whenthe procedure does not include the data, each of the procedure and thedata is called a program part.

[0041] Therefore, the “program part” means a smallest unit of divisionwhen a service provider provides a program to a user. In other words,when the procedure includes data, the data alone are not provided to auser, since the procedure is updated when the data are exchanged.Therefore, it is necessary to provide data with the procedure. On theother hand, when the procedure does not include data, the data alone areprovided to a user when the data are changed.

[0042] In many cases, a program is provided as a file. In the presentinvention, since transfer on a network is assumed, it includes transferof a JAVA applet upon reference to a web page, for example. In otherwords, a program part does not necessarily correspond to a file one toone. On the contrary, one program may be composed of one program part.

[0043] The definition of a program part has been explained in the above.The image processing order method of the present invention ischaracterized by the fact that a program part for high precisionprocessing and a program part for making the transfer speed faster arestored in a server computer and they are used depending on a purpose. Inthis method, since a program part having a relatively small size forprioritizing the transfer speed is transferred to a user, the amount oftransferred program or data is reduced. However, this does notnecessarily mean that all programs have 2 kinds of program parts, andfor a program part which does not affect the program size, only 1 partmay exist.

[0044] More specifically, when the processing uses a mask, a method ispossible wherein high resolution mask data for processing highresolution image data, low resolution mask data for processing lowresolution image data, and a procedure for carrying out the processingusing the provided mask data are stored as program parts in a servercomputer.

[0045] Alternatively, in the processing using the mask, another methodis possible wherein a procedure for carrying out the processing usinghigh resolution mask data included in the procedure and a procedure forcarrying out the processing using low resolution mask data included inthe procedure are stored as program parts in a server computer.

[0046] The “program part excluding the program part for the highresolution image data among the program parts to be used for theprocessing” means the low resolution mask data and the proceduretherefor in the former mask processing while it means the procedure forthe low resolution mask data in the latter mask processing.

[0047] The image processing order method, system and server computer ofthe present invention provides 2 (or more than 2) kinds of imageprocessing programs used by both a laboratory (service provider) and auser wherein one of them prioritizes the image quality while the otherprioritizes the speed of transfer, and records both programs in a servercomputer. The program may have a divisible structure so that a portionwhich does not affect the program size greatly may have 1 kind of partand a portion which affects the program size greatly may have 2 kinds ofparts. In this manner, when the program is provided to a user via anetwork, only the program part prioritizing faster transfer speed(having a a smaller size) is transferred, and the amount of transferredprogram or data is thus reduced.

[0048] In mask processing wherein a portion of an image is cut, maskdata having a comparatively large size needs to be provided to a user.In this invention, low resolution mask data for mask processing whichare used by a user referring to low resolution image data on a monitorof a personal computer and high resolution mask data used for printingby a laboratory are provided, and the low resolution mask data and aprocedure therefor, or a procedure including the low resolution maskdata are transferred to the user. Therefore, the amount of transferredprogram or data does not increase unnecessarily as a result oftransferring unnecessary high resolution mask data to a user.

[0049] The present invention is not limited to mask processing only.When the size of a program part to be transferred is comparativelylarge, as in the case of the mask processing, a significant effect isobtained.

BRIEF DESCRIPTION OF THE DRAWINGS

[0050]FIG. 1 is a diagram showing an outline of an image processingorder system of the present invention;

[0051]FIG. 2 is a diagram showing an example of a data structure to berecorded in a server computer; and

[0052]FIG. 3 is a diagram showing another example of the data structureto be recorded in the server computer.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0053] Hereinafter, an embodiment of the present invention will beexplained referring to the accompanying drawings. FIG. 1 is a diagramshowing an outline of an image processing order system of the presentinvention. In FIG. 1, a personal computer 1 is a user's personalcomputer installed at the user's home or the like and is equivalent to aclient computer. A server 2 is a computer managed by a provider of adigital image service, and comprises peripheral equipment such as alarge capacity hard disc 3 for storing users' images, and a photographicprinter 4 for generating photographic prints. In this specification, theserver 2, the hard disc 3, the photographic printer 4 and other kinds ofperipheral equipment directly connected to the server 2 are called aserver computer.

[0054] The personal computer 1 and the server 2 comprise communicationequipment (including software) for connecting to the Internet, and theycan exchange information between them. In this invention, a networkmeans not only the Internet but also a local network.

[0055] The method and the system of the present invention assume thatthe hard disc 3 of the server computer stores user's images in advance.The images are recorded when the user requests a laboratory to develop afilm, for example.

[0056] In this embodiment, a digital image read from the film is storedin the hard disc 3 as a FlashPix file. The FlashPix file generallyincludes 6 kinds of image data classified by resolution. The highest andthe second-highest resolution data are used for print generation, andthe other 4 kinds of data are for display on a monitor. For easyunderstanding of the present invention, the following explanationassumes 2 kinds of image data, that is, high resolution image data forprint generation and low resolution image data for display on a monitor.Practically, optimal data are selected among the plural kinds of datadepending on the print size or the size of a displayed image on themonitor.

[0057] Hereinafter, an example will be explained wherein portions of 2images are cut by using a mask to generate a composite photograph andprint output of the composite photograph is ordered.

[0058] The user requests transfer of images to be processed, mask datanecessary for the processing, and a program for the mask processing byaccessing the server 2 from the personal computer 1. In a conventionalmethod, images and mask data for actually generating a processed printhave been provided.

[0059] The mask data are usually recorded as 2-dimensional binary dataor a set of vectors. However, if low resolution image data are processedon a monitor of a personal computer, high resolution mask data are notnecessary. Therefore, in the present invention, plural kinds of not onlyimage data but also mask data classified by resolution are provided inthe hard disc 3. In this manner, low resolution image data 5 b and lowresolution mask data 7 b having comparatively small amounts of data aretransferred to the user. At the same time, a procedure 6 for maskprocessing is also transferred.

[0060] The user carries out the mask processing and the compositionprocessing, referring to the low resolution image data 5 b and the maskdata 7 b having been transferred on the screen of the personal computer1. For example, as shown in FIG. 1, the mask processing is carried outon the image data 5 b by using the mask 7 b to generate a main processedimage 8 a, and mask processing is carried out on image data 5 c using amask 7 c which is an inversion of the mask 7 b to generate a processedimage 8 b which is a background image. By composing both processedimages 8 a and 8 b (the main image and the background image) on thescreen, a composite image 9 is generated.

[0061] The procedure of the operation the user has carried out on thescreen is recorded as processing instruction information 10. Theprocessing instructioninformation10 means a character string as shown inFIG. 1, for example. By transferring the processing instructioninformation instead of transferring the processed image data, the amountof transferred data can be reduced.

[0062] The server 2 which receives the processing instructioninformation from the personal computer 1 searches the hard disc 3 basedon this information, and obtains high resolution data corresponding tothe image data 5 b, 5 c and the masks 7 b and 7 c. The mask processingand the composition processing is carried out by the server 2 accordingto the instructed procedure. In this manner, the generated compositeimage is output as a composite photographic print 11 by the photographicprinter 4.

[0063] The data to be transferred from the server 2 to the personalcomputer 1 will be explained in detail, referring to FIGS. 2 and 3. Whena program and data are transferred, a unit in which a transfer ispossible depends on a structure of the program or that of the data.

[0064] In the example shown in FIG. 2, mask data 7 a and 7 b, as well asimage data 5 a and 5 b have been stored in the FlashPix format.Separated from an image file 5 and a mask data file 7, a procedure 6 forthe mask processing and the composition processing has also been storedtherein.

[0065] In this example, software corresponding to the FlashPix formatcan refer to each kind of data in the image file 5 and the mask datafile 7. Therefore, as shown in FIG. 2, the low resolution image data 5 bin the image file 5, the low resolution mask data 7 b in the mask datafile 7, and the procedure 6 therefor are transferred to the personalcomputer 1. In print output processing, the high resolution image data 5a in the image file 5, the high resolution mask data 7 a in the maskdata file 7, and the procedure 6 therefor which is the same procedurethat is transferred to the personal computer 1 in the above case areused.

[0066] On the other hand, in the example in FIG. 3, the procedure 6 forthe mask processing includes the mask data. In this case, since the maskdata are interpreted as a portion of the procedure when the procedure iscompiled, the mask data and the procedure are not dealt with separately.Therefore, as shown in FIG. 3, transfer is carried out regarding aprocedure as a unit of the transfer, and the procedure is used forprinting as well.

[0067] As has been described above, in the present invention, pluralkinds of images and program parts such as the procedure and the maskdata for the mask processing are provided depending on the resolution ofthe image to be processed by using the program parts. Therefore, onlythe minimum necessary program parts are transferred to a user. In thismanner, a high-speed and comfortable digital photographic service on anetwork can be provided.

What is claimed is:
 1. A method of ordering an image processing in which processing of an image is ordered by transferring information instructing the processing from a client computer connected to a server computer via a network to the server computer which carries out storage, processing, and reproduction of the image, said method including the steps of: storing the image as a pair of high resolution image data to be used for reproduction of the image and low resolution image data having a data size smaller than that of the high resolution image data in the server computer; recording in the server computer at least a portion of program parts to be used for the processing of the image as a pair of a program part for the high resolution image data and a program part for the low resolution image data having a program size smaller than that of the program part for the high resolution image data; transferring from the server computer to the client computer the low resolution image data and a program part excluding the program part for the high resolution image data among the program parts to be used for the processing; generating processing instruction information which instructs the content of processing to be used when the server computer carries out the processing on the high resolution image data, by carrying out, on the client computer, desired processing using the program part having been transferred on the low resolution image data having been transferred; and transferring the processing instruction information from the client computer to the server computer.
 2. A method of ordering an image processing as claimed in claim 1 wherein the processing uses a mask and high resolution mask data for processing high resolution image data, low resolution mask data for processing low resolution image data, and a procedure for carrying out the processing using the provided mask data are stored as program parts in the server computer.
 3. A method of ordering an image processing as claimed in claim 1 wherein the processing uses a mask and a procedure for carrying out the processing using high resolution mask data included in the procedure and a procedure for carrying out the processing using low resolution mask data included in the procedure are stored as program parts in the server computer.
 4. Asystem fororderingan imageprocessing in which image processing is ordered by transferring information instructing the processing from a client computer connected to a server computer via a network to the server computer which carries out storage, processing and reproduction of the image, wherein the server computer comprises: (S-1) image storing means which stores the image as a pair of high resolution image data to be used for reproduction of the image and low resolution image data having a data size smaller than that of the high resolution image data; (S-2) program part recording means which records at least a portion of program parts to be used for the processing of the image as a pair of a program part for the high resolution image data and a program part for the low resolution image data having a program size smaller than that of the program part for the high resolution image data; (S-3) program part transferring means which transfers from the server computer to the client computer the low resolution image data and a program part excluding the program part for the high resolution image data among the program parts to be used for the processing; (S-4) image processing means which processes the high resolution image data based on the processing instruction information transferred from the client computer; and (S-5) image reproducing means which reproduces the high resolution image data having been processed by the image processing means as a visible image; and the client computer comprises: (C-1) processing instruction information generating means which generates the processing instruction information by carrying out desired processing on the low resolution image data having been transferred by using the program part having been transferred from the server computer; and (C-2) order means which orders the processing by transferring the processing instruction information from the client computer to the server computer.
 5. A system for ordering an image processing as claimed in claim 4 wherein the processing uses a mask and the program part recording means records high resolution mask data for processing high resolution image data, low resolution mask data for processing low resolution image data, and a procedure for carrying out the processing using the provided mask data as the program parts.
 6. A system for ordering an image processing as claimed in claim 4 wherein the processing uses a mask and the program part recording means records a procedure for carrying out the processing using high resolution mask data included therein and a procedure for carrying out the processing using low resolution mask data included therein as the program parts.
 7. A server computer composing an image processing order system which stores the image, and carries out processing and reproduction of the image based on an instruction from a client computer, said server computer comprising: (S-1) image storing means which stores the image as a pair of high resolution image data to be used for reproduction of the image and low resolution image data having a data size smaller than that of the high resolution image data; (S-2) program part recording means which records at least a portion of program parts to be used for the processing of the image as a pair of a program part for the high resolution image data and a program part for the low resolution image data having a smaller program size smaller than that of the program part for the high resolution image data; (S-3) program part transferring means which transfers to the client computer the low resolution image data and a program part excluding the program part for the high resolution image data among the program parts to be used for the processing; (S-4) image processing means which receives processing instruction information which the client computer has generated and then transferred by carrying out desired processing using the program part on the low resolution image data, and processes the high resolution image data based on the processing instruction information; and (S-5) image reproducing means which reproduces the high resolution image data having been processed by the image processing means as a visible image.
 8. A server computer as claimed in claim 7 wherein the processing uses a mask and the program part recording means records high resolution mask data for processing the high resolution image data, low resolution mask data for processing the low resolution image data, and a procedure for carrying out the processing using the provided mask data as the program parts.
 9. A server computer as claimed in claim 7 wherein the processing uses a mask and the program part recording means records a procedure for carrying out the processing using the high resolution mask data included therein and a procedure for carrying out the processing using the low resolution mask data included therein as the program parts. 